package com.one.group.admin.dao;

import com.one.group.model.dto.AdvertQueryDto;
import com.one.group.model.entity.Advert;
import com.one.group.model.vo.AdvertListVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author wanbo
 * @Date 2025/9/29 13:53
 */
public interface AdvertDao {

    /**
     * 根据id查询广告
     * @param id
     * @return
     */
    Advert findAdvertById(String id);


    /**
     * 根据条件分页查询
     * @param advertQueryDto
     * @return
     */
    AdvertListVo findAdvertByQueryDto(AdvertQueryDto advertQueryDto);

    /**
     * 添加广告
     * @param advert
     * @return
     */
    void inertAdvert(Advert advert);

    /**
     * 修改广告
     * @param advert
     * @return
     */
    void updateAdvert(Advert advert);

    /**
     * 删除广告
     * @param id
     * @return
     */
    void deleteAdvertById(String id);

    /**
     * 批量添加广告
     * @param advertList
     */
    void insertAdvertList(List<Advert> advertList);

    /**
     * 根据id批量删除
     * @param ids
     */
    void deleteBatch(List<String> ids);

    /**
     * 获取租户所有广告总价
     * @return 已出租广告总价
     */
    BigDecimal getTotalPrice();

    AdvertListVo findAdvertListByCellId(String cellId);
}
